*** a/ccmain/baseapi.cpp
--- b/ccmain/baseapi.cpp
***************
*** 954,960 ****
    for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
      OUTLINE *outline = it.data();
      outline->compute_bb();
!     result.bounding_union(outline->bounding_box());
    }
    return result;
  }
--- 954,960 ----
    for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
      OUTLINE *outline = it.data();
      outline->compute_bb();
!     result = result.bounding_union(outline->bounding_box());
    }
    return result;
  }
***************
*** 966,972 ****
    for (c_it.mark_cycle_pt(); !c_it.cycled_list(); c_it.forward()) {
      C_BLOB *blob = c_it.data();
      //bboxes.push(tessy_rectangle(blob->bounding_box()));
!     result.bounding_union(blob->bounding_box());
    }
    return result;
  }
--- 966,972 ----
    for (c_it.mark_cycle_pt(); !c_it.cycled_list(); c_it.forward()) {
      C_BLOB *blob = c_it.data();
      //bboxes.push(tessy_rectangle(blob->bounding_box()));
!     result = result.bounding_union(blob->bounding_box());
    }
    return result;
  }
***************
*** 1026,1032 ****
      for (int i = 0; i < n; i++) {
        PBLOB *blob = it.data();
        TBOX current = pblob_get_bbox(blob);
!       bln_rect.bounding_union(current);
  
        TESS_CHAR *tc = new TESS_CHAR(rating_to_cost(word->best_choice->rating()),
                                      str, *len);
--- 1026,1032 ----
      for (int i = 0; i < n; i++) {
        PBLOB *blob = it.data();
        TBOX current = pblob_get_bbox(blob);
!       bln_rect = bln_rect.bounding_union(current);
  
        TESS_CHAR *tc = new TESS_CHAR(rating_to_cost(word->best_choice->rating()),
                                      str, *len);
